package com.gaolang.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.gaolang.pojo.*;

import java.util.ArrayList;
import java.util.List;

/**
 * @author GAOLANG
 */
public interface ManagerService {

    /**
     *  登录验证
     * @param manager  Manager对象
     * @return  Boolean类型
     */
    boolean loginAuthentication(Manager manager);

    /**
     *   查询所有用户
     * @return 所有用户
     */
    List<User> selectAllUser();

    /**
     *  删除用户
     * @param id 用户Id
     * @return int类型
     */
    int deleteUserById(int id);

    /**
     *  user查询页数
     * @return 页数
     */
    List<Integer> userPage();

    /**
     *   第几页的数据
     * @param page 页数
     * @return user对象
     */
    List<User> userByPage(int page);

    /**
     * 批量删除
     * @param list  id集合
     * @return int类型
     */
    int userDeleteSome(ArrayList<Integer> list);


    /**
     * 根据三个参数查询
     * @param id id
     * @param username 用户名
     * @param address 地址
     * @return user信息
     */
    List<User> selectThree(String id,String username,String address);


    /**
     *   查询所有用户
     * @return 所有用户
     */
    List<Medicine> selectAllMedicine();

    /**
     *  user查询页数
     * @return 页数
     */
    List<Integer> medicinePage();

    /**
     *   第几页的数据
     * @param page 页数
     * @return user对象
     */
    List<Medicine> medicineByPage(int page);

    /**
     *  删除用户
     * @param id 药品Id
     * @return int类型
     */
    int deleteMedicineById(int id);

    /**
     * 批量删除
     * @param list  id集合
     * @return int类型
     */
    int medicineDeleteSome(ArrayList<Integer> list);

    /**
     *  添加药材
     * @param medicine 药材对象
     * @return int类型
     */
    int addMedicine(Medicine medicine);

    /**
     * 修改药材
     * @param medicine 药材对象
     * @return int 类型
     */
    int modifyMedicine(Medicine medicine);

    /**
     * 根据三个参数查询
     * @param id id
     * @param name 药名
     * @param type 类部
     * @return Medicine信息
     */
    List<Medicine> selectMedThree(String id,String name,String type);

    /**
     *  订单表页数
     * @return 页数
     */
    List<Integer> orderPage();

    /**
     *   第几页的数据
     * @param page 页数
     * @return user对象
     */
    List<Orders> orderByPage(int page);


    /**
     * 根据用户id查询订单
     * @param userId id
     * @return OrderForm信息
     */
    List<Orders> selectByUserId(Integer userId);


    /**
     * 根据用户id查询订单
     * @param id id
     * @return OrderForm信息
     */
    Orders selectById(Integer id);


    /**
     * 修改药材
     * @param id id
     * @param state 对象
     * @return int 类型
     */
    int modifyStateById(Integer id,String state);




}
